From: Jasper St. Pierre Date: Mon, 19 Dec 2011 04:30:26 +0000 (-0500) Subject: st-icon: Fix memory leak X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~7239 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=c7846e1;p=gnome-shell.git st-icon: Fix memory leak We were never freeing the dup'd icon_name string for an StIcon. --- diff --git a/src/st/st-icon.c b/src/st/st-icon.c index f93eff58a..e5643ccc9 100644 --- a/src/st/st-icon.c +++ b/src/st/st-icon.c @@ -174,6 +174,20 @@ st_icon_dispose (GObject *gobject) G_OBJECT_CLASS (st_icon_parent_class)->dispose (gobject); } +static void +st_icon_finalize (GObject *object) +{ + StIconPrivate *priv = ST_ICON (gobject)->priv; + + if (priv->icon_name) + { + g_free (priv->icon_name); + priv->icon_name = NULL; + } + + G_OBJECT_CLASS (st_icon_parent_class)->finalize (gobject); +} + static void st_icon_get_preferred_height (ClutterActor *actor, gfloat for_width, @@ -317,6 +331,7 @@ st_icon_class_init (StIconClass *klass) object_class->get_property = st_icon_get_property; object_class->set_property = st_icon_set_property; object_class->dispose = st_icon_dispose; + object_class->finalize = st_icon_finalize; actor_class->get_preferred_height = st_icon_get_preferred_height; actor_class->get_preferred_width = st_icon_get_preferred_width;